/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


function fnSalidasTramite(){
    
    var dsSalidas = new Ext.data.GroupingStore({
        url:"../GestionTramiteDocumentario.do",
        reader: new Ext.data.JsonReader({
            root: 'salidasTramite',
            totalProperty: 'totalcount',
            fields:[{
                name: "nsaliIdentificador",
                type: "integer"
            },{
                name: "dsaliFechacreacion",
                type: "string"
            },{
                name: "ndepeIdentificador",
                type: "integer"
            },{
                name: "ndepeDestino",
                type: "integer"
            },{
                name: "cdepeDestino",
                type: "string"
            },{
                name: "ningrIdentificador",
                type: "integer"
            },{
                name: "cusuaUsername",
                type: "string"
            },{
                name: "ctramHojatramdoc",
                type: "string"
            },{
                name: "ctramAsunto",
                type: "string"
            },{
                name: "cbeneBeneficios",
                type: "string"
            },{
                name: "cacciAcciones",
                type: "string"
            },{
                name: "cpersAdministrado",
                type: "string"
            },{
                name: "csoliSolicitante",
                type: "string"
            }]
        }),
        sortInfo:{
            field: 'ctramHojatramdoc',
            direction: "ASC"
        },
        groupField: 'ctramHojatramdoc'
    });
 
    dsSalidas.on("exception",function(proxy, type, action, options, response, arg){
        Ext.MessageBox.alert("Error","Error DIRPEN:0701: No se pudo cargar DataStore dsDerivos");
    });

    var grdSalidasTramite=new Ext.grid.GridPanel({
        id: "grdSalidasTramite",
        store: dsSalidas,
        columns:[new Ext.grid.RowNumberer(),{
            header: "Hoja Tramite Interna",
            dataIndex: "ctramHojatramdoc",
            hidden :true,
            sortable:false,
            width: 0
        },{
            header: "Derivado a...",
            dataIndex: "cdepeDestino",
            sortable:true,
            width: 300
        },{
            header: "Fecha Derivo",
            dataIndex: "dsaliFechacreacion",
            sortable:true,
            width: 100
        },{
            header: "Solicitante",
            dataIndex: "csoliSolicitante",
            sortable:true,
            width: 150
        },{
            header: "Beneficios",
            dataIndex: "cbeneBeneficios",
            sortable:true,
            width: 200
        },{
            header: "Acciones",
            dataIndex: "cacciAcciones",
            sortable:true,
            width: 200
        },{
            header: "Creado Por",
            dataIndex: "cusuaUsername",
            sortable:true,
            width: 100
        }],
        view: new Ext.grid.GroupingView({
            forceFit:true,
            emptyText: 'No tiene tramites derivados creadas.',
            groupTextTpl : '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Derivos" : "Derivo"]})'
        })
    });
    dsSalidas.reload({
        params:{
            operacion: 'obtenerSalidasTramite',
            fecha:'01/01/1980'
        }
    });
            

    var frmFiltroFechas =new Ext.Panel({
        bodyBorder:true,
        height:80,
        bodyStyle: "background-color:#DFE8F6; border:0"
    });
    Ext.Ajax.request({
        url:"../frmFiltroFechas.do",
        method:'POST',
        waitTitle:'Cargando...',
        waitMsg:'Espere un momento mientras inicia el formulario...',
        success:function(response){
            frmFiltroFechas.html=response.responseText;
            var winSalidasTramite= new Ext.Window({
                title:'Derivar Tramite',
                closeAction:'destroy',
                id: 'winSalidasTramite',
                x:0,
                y:0,
                width:1050,
                height: 480,
                shim:false,
                maximizable:false,
                modal:true,
                resizable: false,
                animCollapse:false,
                layout: 'border',
                items:[{
                    region: 'north',
                    height: 80,
                    split: false,
                    border:false,
                    layout:'fit',
                    xtype: 'panel',
                    items: frmFiltroFechas,
                    bbar:[{
                        text:'Consultar',
                        iconCls:'icon-preview',
                        handler: function(){
                            fnRecargarSalidas();
                        }
                    },'-',{
                        text:'Salir',
                        iconCls:'icon-cancel',
                        handler: function(){
                            Ext.getCmp("winSalidasTramite").destroy();
                        }
                    }]
                },{
                    region: 'center',
                    height: 400,
                    split: false,
                    border:false,
                    xtype: 'panel',
                    layout:'fit',
                    bodyStyle: "background-color:#DFE8F6; border:0",
                    items:grdSalidasTramite
                }]
            });
            winSalidasTramite.show();
            winSalidasTramite.focus();
            fnConfiguraPantallaSalidas();
        }
    });
}

function fnConfiguraPantallaSalidas(){
    new Ext.form.DateField({
        renderTo:'fechaFiltroSalida',
        id:'fechaFiltroSalida2',
        format:'d/m/Y'
    });
    setFechaSistema("fechaFiltroSalida2");
    fnRecargarSalidas();
    
}

function fnRecargarSalidas(){
    var txtFecha = Ext.getCmp("fechaFiltroSalida2");
    var grd = Ext.getCmp("grdSalidasTramite");
    var dsSalidas = grd.getStore();
    dsSalidas.reload({
        params:{
            operacion: 'obtenerSalidasTramite',
            fecha:txtFecha.getRawValue()
        }
    });
}